<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
		<title>测试微信分享</title>
		<!--调用地图-->
		<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=vDPOkabiXgAKqbNPAqPCtZZm9tuzhyuW"></script>
		<!--调用jQuery-->
		<script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
		<!--调用微信-->
		<script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

		<script src="//cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script>
		
		<!--背景音乐,要放在head中，title下-->
		<!--使用hidden="true"表示隐藏音乐播放按钮-->
		<!--使用autostart="true" 表示是打开网页加载完后自动播放。-->
		<!--使用loop="true"表示 循环播放 如仅想播放一次则为：loop="false"-->
		<embed src="img/All of Me - John Legend.mp3" hidden="true" autostart="true" loop="true">

		<style type="text/css">
			body,
			html,
			#allmap {
				width: 100%;
				height: 80%;
				/*overflow: hidden;*/
				margin: 0;
				font-family: "微软雅黑";
			}
		</style>

	</head>

	<body>

		测试微信分享

		<a href="javascript:wxpay();" class="weui-btn weui-btn_primary">立即支付</a>
		<!--微信-->
		<div class="weui-wepay-logos">
			<img src="https://act.weixin.qq.com/static/cdn/img/wepayui/0.1.1/wepay_logo_default_gray.svg" alt="" height="16">
		</div>
		</div>
		</div>
		
		<!--地图-->
		<div id="allmap"></div>

		<script type="text/javascript">
			/*
			 * 注意：
			 * 1. 所有的JS接口只能在公众号绑定的域名下调用，公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
			 */
			$(function() {
				var url = location.href.split('#')[0];
				alert(url);

				//1、先执行这个请求，获取当前微信访问人信息，获取授权
				$.ajax({
					url: "http://admin.macw.cc/api/weiXin/getCode",
					dataType: "json",
					success: function(data) {
						alert("get oAuh2")
						console.log(data);
					}
				})

				//2、获取微信签名认证，调用微信js_api方法
				$.ajax({
					url: "http://admin.macw.cc/api/getSignature",
					data: {
						"url": url,
						"customerId": 10 //从上面接口获取到的当前登录用户id
					},
					dataType: "json",
					timeout: 5000,
					error: function(XMLHttpRequest, textStatus, errorThrown) {
						if(textStatus == "timeout") { // 请求超时
							alert("请求超时！！！")
						} else {
							alert("请求成功！")
						}
					},
					success: function(data) {
						console.log(data);
						alert("get data")
						wx.config({
							debug: true,
							appId: data.appId,
							timestamp: data.timestamp,
							nonceStr: data.nonceStr,
							signature: data.signature,
							jsApiList: ['updateAppMessageShareData',
								'updateTimelineShareData', 'onMenuShareAppMessage'
							]
						});
					}
				});
				wx.ready(function() {
					wx.checkJsApi({
						jsApiList: ['onMenuShareAppMessage'],
						success: function(res) {
							//							alert(res.checkResult.chooseImage);
						}
					});
					//分享给朋友
					wx.updateAppMessageShareData({
						title: '微信昵称' + '邀请你参加' + '接口获取到的活动名称', // 分享标题
						desc: '你看能用吗', // 分享描述
						// 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
						link: url + '&pid=12', //链接后面拼接当前访问用户id
						imgUrl: '', // 分享图标
						success: function() {
							// 设置成功
							console.log("设置成功")
							alert("分享给朋友,分享成功！")
						},
						cancel: function() {
							// 用户取消分享后执行的回调函数
						}

					});
					//分享到朋友圈
					wx.updateTimelineShareData({
						title: '分享标题', // 分享标题
						link: ' 分享链接，该链接域名或路径必须与当前页面对', // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
						imgUrl: url, // 分享图标
						success: function() {
							// 设置成功
						}
					})

					wx.error(function(res) {
						//						alert(res.errMsg);
					});

				});
			});

			/* 微信公众号支付支付 */
			function wxpay() {
				$.showLoading("正在加载...");
				let total_fee = $.trim($("#web_money").val());
				//这里要将价格、和当前用户的openid,商品名称，商品描述  传过去
				$.post("http://admin.macw.cc/api/wxPay/webPay", {
					total_fee: total_fee,
				}, function(res) {
					$.hideLoading();
					//下面这堆东西我也看不懂，微信官方给的，拿来用 就能直接调起支付
					if(res.code == 0) {
						let data = $.parseJSON(res.data);

						if(typeof WeixinJSBridge == "undefined") {
							if(document.addEventListener) {
								document.addEventListener('WeixinJSBridgeReady',
									onBridgeReady(data), false);
							} else if(document.attachEvent) {
								document.attachEvent('WeixinJSBridgeReady',
									onBridgeReady(data));
								document.attachEvent('onWeixinJSBridgeReady',
									onBridgeReady(data));
							}
						} else {
							onBridgeReady(data);
						}
					} else {
						if(res.code == 2) {
							layer.alert(res.message);
						} else {
							layer.msg("error：" + res.message, {
								shift: 6
							});
						}
					}
				});

			}

			function onBridgeReady(json) {
				WeixinJSBridge.invoke('getBrandWCPayRequest', json, function(res) {
					// 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回    ok，但并不保证它绝对可靠。
					if(res.err_msg == "get_brand_wcpay_request:ok") {
						layer.msg("支付成功", {
							shift: 6
						});

						self.location = "#(ctxPath)/success";

					} else {
						layer.msg("支付失败", {
							shift: 6
						});
					}
				});
			}
			/* 微信公众号支付支付 END */
		</script>

		<!--百度地图封装-->
		<script>
			var map = new BMap.Map("allmap"); // 创建Map实例
			var point = new BMap.Point(113.771812, 34.731195); //位置经纬度，可以从接口获取
			map.centerAndZoom(point, 16); // 初始化地图,设置中心点坐标和地图级别
			map.setCurrentCity("郑州"); // 设置地图显示的城市 此项是必须设置的
			map.enableScrollWheelZoom(); //启用滚轮放大缩小，默认禁用

			var myIcon = new BMap.Icon("img/myicon.png", new BMap.Size(30, 30), {
				anchor: new BMap.Size(10, 10) //定位点距离图片左上角的偏移量  
			});

			var marker = new BMap.Marker(point, {
				icon: myIcon
			});
			map.addOverlay(marker);

			var geolocation = new BMap.Geolocation();
			geolocation.getCurrentPosition(function(r) {
				if(this.getStatus() == BMAP_STATUS_SUCCESS) {
					var mk = new BMap.Marker(r.point);
					map.addOverlay(mk);
					//            map.panTo(r.point);//地图中心点移到当前位置
					var latCurrent = r.point.lat;
					var lngCurrent = r.point.lng;
					//alert('我的位置：'+ latCurrent + ',' + lngCurrent);

					//这句话意思是可以点击导航定位到指定的位置
//					 location.href="http://api.map.baidu.com/direction?origin="+latCurrent+","+lngCurrent+"&destination=39.89778,116.709684&mode=driving&region=北京&output=html";

				} else {
					alert('failed' + this.getStatus());
				}
			}, {
				enableHighAccuracy: true
			})

			map.addOverlay(marker);
			var licontent = "<b>新亚大厦</b><br>";
			licontent += "<span><strong>地址：</strong>河南省郑州市新亚大厦</span><br>";
			licontent += "<span><strong>电话：</strong>(010)81556565 / 6969</span><br>";
			var opts = {
				width: 200,
				height: 80,
			};
			var infoWindow = new BMap.InfoWindow(licontent, opts);
			marker.openInfoWindow(infoWindow);
			marker.addEventListener('click', function() {
				marker.openInfoWindow(infoWindow);
			});
		</script>

	</body>

</html>